#pragma once
#include "RideFactory.h"
#include "SgTexture.h"

class CScrambledEggsFactory:
	public CRideFactory
{
public:
	CScrambledEggsFactory(void);
	~CScrambledEggsFactory(void);

	void Create(CSgComposite *root);
	void CreateCartFront(CSgComposite *parent);
	void PutTogether(CSgComposite *parent);
	void CreateCartStair(CSgComposite *parent);
	void CreateCart(CSgComposite *parent);
	void CreateSeatContainer(CSgComposite *parent);
	void CreateSeatContainerBottom(CSgComposite *parent);
	void CreateSeatContainerBack(CSgComposite *parent);
	void CreateCartFeet(CSgComposite *parent);
	void CreateCartLatch(CSgComposite *parent);
	void CreateArm(CSgComposite *parent);
	void CreateBeamPiece(CSgComposite *parent);
	void CreateSupport(CSgComposite *parent);
	void PutTogetherArm(CSgComposite *parent);
	void CreateArmCenter(CSgComposite *parent);
	void CreateFinalArm(CSgComposite *parent);
	void CreateRideCenter(CSgComposite *parent);
	void CreateLongConnect(CSgComposite *parent);

private:
	CSgComposite *m_root;
	double m_FrontRadius;
	double m_StairWidth;
	double m_StairDepth;
	double m_FrontWidth;
	double m_FrontSides;
	double m_SeatHeight;
	double m_SeatWidth;
	double m_SeatDepth;
	double m_SeatSides;
	CSgPtr<CSgTexture> rainbowTex;
	CSgPtr<CSgTexture> backOfChair;
	CSgPtr<CSgTexture> roundedFrontTex;
	CSgPtr<CSgTexture> steelTex;
	CSgPtr<CSgTexture> lastTex;
};
